home *** CD-ROM | disk | FTP | other *** search
/ Programmer Power Tools / Programmer Power Tools.iso / icon / cross.icn < prev    next >
Text File  |  1985-12-03  |  699b  |  31 lines

  1. #
  2. #          W O R D   I N T E R S E C T I O N S
  3. #
  4.  
  5. #  This program procedure accepts string pairs from standard input, with
  6. #  the strings separated by semicolons.  It then diagrams all the
  7. #  intersections of the two strings in a common character.
  8.  
  9. procedure main()
  10.    local line, j
  11.    while line := read() do {
  12.       write()
  13.       j := upto(':',line)
  14.       cross(line[1:j],line[j+1:0])
  15.       }
  16. end
  17.  
  18. procedure cross(s1,s2)
  19.    local j, k
  20.    every j := upto(s2,s1) do
  21.       every k := upto(s1[j],s2) do
  22.          xprint(s1,s2,j,k)
  23. end
  24.  
  25. procedure xprint(s1,s2,j,k)
  26.    write()
  27.    every write(right(s2[1 to k-1],j))
  28.    write(s1)
  29.    every write(right(s2[k+1 to *s2],j))
  30. end
  31.